The present invention relates generally to radar video distribution and display. More particularly, the present invention relates to systems and methods of distributing and managing digitized radar video for display, e.g., display of scan converted radar with other information, such as overlay images or underlay images.
Computer system user interfaces have had several different architectures since their invention. Early computers used lights and buttons, or punch cards and printers to provide the user interface. Mainframe computers have traditionally used cathode ray tube (CRT) terminals that provided the user interface. The mainframe system was characterized by the fact that application programs run on the centralized computer housed in the computer center and users would interface to the computer via the display terminals and printers. A protocol was standardized for communication of output, or display commands and input or keyboard signals.
The invention of the personal computer changed the architecture to one where the computer processor and user interface devices were all highly integrated and co-located with the operator. The evolution of personal computers included the development of graphical user interfaces and pointing devices. The development of networks (e.g., local area networks, remote area networks, wide area networks, etc.) made it possible for many personal computers to share information easily in a distributed system. For example, client/server models where a client accesses a remote server by way of a network are common. For example, such architectures may be implemented with the client being a thin client implementation. In such a thin client implementation, the thin client uses the resources provided by an application server, which performs a substantial portion of the data processing for a particular application. The thin client is then used primarily to graphically display images provided from the application server. The communication between the client and server in such a thin client implementation may be over any sort of network.
However, such client server models may also be implemented with the client being a thick client implementation. In such an implementation, the client performs a large portion of data processing (e.g., the client performs a bulk of the application data processing) and also any processing for displaying the images.
The X windowing system is one example of a client/server display architecture, and is a dominant architecture on Unix-based operating systems. One objective of the X windowing system is to separate the processing of the user interface from the application program. The user interface is processed by a program typically referred to as the X server which runs on the client processor. The application program, also called the X client, runs on an application processor. The X windowing system is commonly used in distributed computing systems and it allows users to execute programs on a different computer than the operator interface computer. The X windowing system protocol for communication between the X client and the X server provides a set of commands for exchanging display, keyboard and pointer actions.
Such X windowing systems have been used to implement thin client architectures for the display of multi-media applications including radar images. For example, such an X windowing system for the display of radar is described in U.S. Pat. No. 6,806,825 to Andrusiak et al., entitled “Thin Client Radar and MultiMedia Networking.” As described therein, an application server not only executes programs for the thin clients, but it also can provide the thin clients with access to all the resources available on the networks attached to the application server. The application server delivers data to the thin clients including, but not limited to, graphics, encoded audio and video, and encoded radar, which are decoded and displayed by the thin clients. The thin clients deliver data including, but not limited to, keyboard and control signals, pointer, and encoded audio and video data to the application server. Further, as described therein, the application server processes compressed digital radar data which includes both video and azimuth data, into radar pixel data and line segment display parameters. Radar pixel data is data from the application server and it corresponds to pixel values to be drawn on the screen, while compressed digital radar data arriving at the application server corresponds to the intensity of the received radar video.
Also as described in U.S. Pat. No. 6,806,825 to Andrusiak et al., the thin client has a processor and network interface to manipulate and move digital data. It has a display such as a flat panel or CRT that receives pixel data from a graphics system. The graphics system may include digital graphics memory, a digital video decoder that decodes digital video for display, a digital audio decoder that plays through speakers, a digital radar decoder that decodes digital radar data for display and a data mixing capability that allows graphics, video and radar data to be integrated into a unified display image. The encoders and decoders for video, audio and radar may utilize either custom hardware based methods or software based methods. However, it is indicated that custom hardware methods provide substantially higher system performance since multiple encoding and decoding tasks are performed simultaneously instead of serially as on a general purpose processor.
U.S. Pat. No. 6,806,825 to Andrusiak et al. places the line drawing functions for the radar in the thin clients, and the polar processing functions in the application server. The process utilizes radar scan conversion protocol extension components to pass a buffer of radar pixel data with a set of line drawing parameters to the thin client where the same buffer of data is drawn in one or more line segments as necessary to provide a hole-filled display. The line drawing parameters include the starting coordinates and slope of each line segment and a pointer to the data elements corresponding to the start and end of the line segment. The radar scan conversion protocol extension algorithms may be implemented either in software or in custom hardware. However, as indicated in U.S. Pat. No. 6,806,825, a software approach may require substantial resources since the processor must be able to perform this task as well as all other thin client tasks. On the other hand, a hardware approach offloads the processing to a custom circuit that performs the task in parallel with other tasks performed by the processor.
One exemplary hardware approach for the display of radar data uses a dedicated pixel data bus to insert radar data between overlay and underlay graphics, allowing map data to be placed beneath the radar image while target and track information is situated over the radar image.
However, such hardware approaches to the display of radar data have significant hardware cost associated therewith and, in addition, occupy significant space at the client (e.g., user terminal). Further, such a hardware implemented approach to the display of radar data substantially reduces the ability to be flexible with respect to the generation of images displayed, as well as with respect to the display of radar on various application platforms (e.g., Unix, Linux, Windows, etc.).